package com.uzai.console.service.sop;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.console.dto.pyq.pyqdeviceplan.PyqDevicePlanQuery;
import com.uzai.console.dto.sop.sopprirewardrulestrategy.SopPriRewardRuleStrategyDto;
import com.uzai.console.dto.sop.sopprirewardrulestrategy.SopPriRewardRuleStrategyIdDto;
import com.uzai.console.dto.sop.sopprirewardrulestrategy.SopPriRewardRuleStrategyQuery;
import com.uzai.console.vo.base.SelectKeyVo;
import com.uzai.console.vo.sop.sopprirewardrulestrategy.SopPriRewardRuleStrategyVo;

import java.util.List;

/***
 * @author liuqi
 * @date 2021年09月01日 19:26
 */
public interface SopPriRewardRuleStrategyService {

    /**
     * 分页查询SOP定向规则策略
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param sopPriRewardRuleStrategyQuery
     * @return null
     */
    Page<SopPriRewardRuleStrategyVo> findByPage(SopPriRewardRuleStrategyQuery sopPriRewardRuleStrategyQuery);

    /**
     * 查询SOP定向规则策略
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param sopPriRewardRuleStrategyIdDto
     * @return null
     */
    SopPriRewardRuleStrategyVo findById(SopPriRewardRuleStrategyIdDto sopPriRewardRuleStrategyIdDto);

    /**
     * 添加SOP定向规则策略状态
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param sopPriRewardRuleStrategyDto
     * @return null
     */
    void addSopPriRewardRuleStrategy(SopPriRewardRuleStrategyDto sopPriRewardRuleStrategyDto);

    /**
     * 删除SOP定向规则策略状态
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param sopPriRewardRuleStrategyIdDto
     * @return null
     */
    void deleteSopPriRewardRuleStrategy(SopPriRewardRuleStrategyIdDto sopPriRewardRuleStrategyIdDto);

    /**
     * 修改SOP定向规则策略状态
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param sopPriRewardRuleStrategyDto
     * @return null
     */
    void updateSopPriRewardRuleStrategy(SopPriRewardRuleStrategyDto sopPriRewardRuleStrategyDto);

    /**
     * 查询修改SOP定向规则策略下拉列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param sopPriRewardRuleStrategyQuery
     * @return null
     */
    List<SelectKeyVo> findSelectList(SopPriRewardRuleStrategyQuery sopPriRewardRuleStrategyQuery);

}
